home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 1996 #6 / Amiga Plus CD - 1996 - No. 06.iso / pd / daten / abook / arexx / printaddress.abx < prev    next >
Text File  |  1995-09-13  |  3KB  |  88 lines

  1. /*
  2. **  $VER: printaddress.mac(rexx) 01.21 (13.09.95) © Aris Basic
  3. **
  4. **
  5. **  PROGRAMNAME:
  6. **      printaddress.mac(rexx)
  7. **
  8. **  FUNKTION:
  9. **      Prints Address On Letter Cover
  10. **
  11. **      This Macro can be started from ABook or from any other
  12. **      Program or Shell (CLI)
  13. **
  14. **      This Programm need ABook or ABook-Server in Background
  15. **
  16. **      Address Book (ABook) and Address Book Server (ABook-Server) are
  17. **      Copyright from Jörg Krause (© 1994-95)
  18. **
  19. **  $HISTORY:
  20. **
  21. **   08.02.95 : 01.00 : initial release
  22. **   02.03.95 : 01.10 : shorter,some improvments
  23. **   06.09.95 : 01.20 : addapted to ABook 01.00
  24. **   13.09.95 : 01.21 : dummy bug removed :)
  25. **
  26. **
  27. */
  28.  
  29. OPTIONS RESULTS
  30. CR=D2C(13)
  31. blanks.1='    '
  32. blanks.0='                                       '
  33.  
  34. /* First we Check is There ABook in Background */
  35.  
  36. IF ~Show('P','ADDRESS_BOOK.1') THEN DO
  37.  
  38. /* Then we Check is There ABook Server Running */
  39.  
  40.                                       IF ~Show('P','ABOOK_SERVER') THEN DO
  41.                                                                           SAY 'Diese Skript benoetigt Address-Book, oder\nden ABook-Server im Hintergrund!'
  42.                                                                           EXIT 10
  43.                                       END
  44.                                       server:
  45.                                       ADDRESS 'ABOOK_SERVER'
  46.                                       'SELECT STEM='VAR.
  47.                                       lok = VAR.1
  48.                                       IF lok="VAR.1" THEN call ende()
  49.                                       CALL part_2()
  50.  
  51. END
  52. ADDRESS 'ADDRESS_BOOK.1'
  53. 'LOCKGUI'
  54. 'FIRST SELECTED'
  55. lok=RESULT
  56. 'UNLOCKGUI'
  57. IF lok=0 THEN DO
  58.              IF Show('P','ABOOK_SERVER') THEN Call server()
  59.              'REQUESTRESPONSE PROMPT="Kein Eintrag selektiert!" TITLE="FEHLER" BUTTON="_OK"'
  60.              EXIT 10
  61. END
  62. part_2:
  63. 'LOCK ENTRY='lok
  64. IF RC=10 THEN DO
  65.               'REQUESTRESPONSE PROMPT="Ungültiger Lock" TITLE="FEHLER"'
  66.               call ende()
  67.               END
  68. 'QUERY STEM=DATA.'
  69. Open(tmp,'T:addpr.tmp','W')
  70. 'REQUESTRESPONSE PROMPT="Auf welche Seite des Blattes soll sich die Anschrift orientieren" TITLE="ANFRAGE" BUTTON="_Linke|_Rechte"'
  71. button=RESULT
  72. 'REQUESTRESPONSE PROMPT="Was soll zusätzlich gedruckt werden?" TITLE="ANFRAGE" BUTTON="_Staat|_Land|_Beides|_Nichts"'
  73. button2=RESULT
  74. Writeln(tmp,CR||CR)
  75. Writeln(tmp,blanks.button||DATA.TITLE||CR)
  76. Writeln(tmp,blanks.button||DATA.LAST||' '||DATA.FIRST||CR)
  77. Writeln(tmp,blanks.button||DATA.ADDRESSES.1.STREET||CR)
  78. Writeln(tmp,blanks.button||DATA.ADDRESSES.1.PC||' '||DATA.ADDRESSES.1.TOWN||CR)
  79. IF ((button2=2)|(button2=3)) THEN WriteLn(tmp,blanks.button||DATA.ADDRESSES.1.COUNTRY||CR)
  80. IF ((button2=1)|(button2=3)) THEN WriteLn(tmp,blanks.button||DATA.ADDRESSES.1.STATE||CR)
  81. Close(tmp)
  82. ADDRESS COMMAND 'c:Copy t:addpr.tmp TO PRT:'
  83. 'UNLOCK 'lok
  84. EXIT 0
  85. ende:
  86. 'UNLOCK 'lok
  87. EXIT 10
  88.